package com.liujit.upms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.liujit.common.domain.params.DelParams;
import com.liujit.common.domain.result.PageBean;
import com.liujit.upms.domain.model.SysLog;
import com.liujit.upms.domain.params.SysLogParams;
import com.liujit.upms.domain.query.SysLogQuery;
import com.liujit.upms.domain.result.SysLogResult;

/**
 * @Description 系统日志Service
 * @Author liujun
 * @Date 2021-06-26 15:45:43
 */
public interface SysLogService extends IService<SysLog> {

    /**
     * 根据条件查询系统日志分页列表
     *
     * @param query 系统日志分页列表查询条件
     * @return 分页列表
     * @author: liujun
     * @date: 2021/6/23 5:02 下午
     */
    PageBean<SysLogResult> getOperationPage(SysLogQuery query);

    /**
     * 查询异常日志
     * @param query
     * @return
     * @author: liujun
     * @date: 2021/7/7 9:47 下午
     */
    PageBean<SysLogResult> getExceptionPage(SysLogQuery query);

    /**
     * 根据请求参数添加系统日志
     *
     * @param param 系统日志添加请求参数
     * @return 添加结果
     * @author: liujun
     * @date: 2021/6/23 5:03 下午
     */
    Boolean add(SysLogParams param);

    /**
     * 根据系统日志id查询系统日志
     *
     * @param id 系统日志id
     * @return 系统日志
     * @author: liujun
     * @date: 2021/6/23 5:05 下午
     */
    SysLogResult get(Long id);

    /**
     * 根据系统日志删除请求参数，删除系统日志
     *
     * @param params 系统日志删除请求参数
     * @return 删除结果
     * @author: liujun
     * @date: 2021-07-02 14:59:44
     */
    Boolean del(DelParams params);
}
